//作用域

// 全局作用域
var a=1; //全部变量
console.log(a); //  1

function fn1(){
    a=2
    console.log(a,"a");  //2
}

//局部作用域（函数作用域） 

fn1()
function fn2(){
    var b=3   //局部变量
    console.log(b,"b");  //2
}
fn2()
// console.log(b);//Uncaught ReferenceError: b is not defined

function fn3(){
    var c=4   //局部变量
    return c
}
console.log(fn3(),"c");

// 3. 块级作用域 {}内

{
  let d=1;
  console.log(d,"d");
}

// console.log(d);  //Uncaught ReferenceError: d is not defined

// 4. 动态作用域

var course="es6" //全局变量

function fn4(){
    console.log(course);
}

function fn5(){
    var course="es7" //局部
    fn4()
    // console.log(course);
}
fn5() // 'es6'